'use strict';

let fs = require("fs");
let { sequelize } = require("../db");

// 搜索所有的模型定义文件
function findfile() {
    let file = fs.readdirSync(__dirname);
    return file.filter(name => {
        return name.endsWith(".js") && name !== "index.js";
    });
}

// 注册（引入）所有的模型
function registerModel(files){
    let obj = {};
    files.forEach(file => {
        let attrs = file.substring(0,file.length-3);
        // 打印表格
        // console.log(attrs);
        obj[attrs] = require(__dirname+"/"+file);
    });
    return obj;
}

let files = findfile();
let obj = registerModel(files);

obj.sync=async()=>{
    if(process.env==='product'){
        console.log('当前是生产环境，不能强制修改数据表或者删除数据表');
    }else{
        return sequelize.sync({force:true});
    }
    
}

//暴露出去
module.exports = obj;
